Provide an Android version code derived from the Emacs version
authorPeter Oliver <git@mavit.org.uk>
Mon, 27 Jan 2025 10:59:19 +0000 (10:59 +0000)
committerPo Lu <luangruo@yahoo.com>
Wed, 5 Mar 2025 06:58:18 +0000 (14:58 +0800)
The version code is intended to be an integer that increments
for each Android package release
(https://developer.android.com/studio/publish/versioning#versioningsettings).

If we keep this updated under version control, then F-Droid (a
third-party Android package repository), can watch for that, and
use it to automatically build Emacs packages for Android each
time a new Emacs release is tagged
(https://f-droid.org/en/docs/Build_Metadata_Reference/#UpdateCheckData).

* admin/admin.el (set-version): Update version code in
java/incrementing-version-code
* java/incrementing-version-code: New file containing an Android
version code corresponding to the current Emacs version.
(bug#75809)

admin/admin.el
java/incrementing-version-code [new file with mode: 0644]

index 8fc970ed4309a589ae74be86039f45d06d51794e..12891bc8c4832c6bd353543409ffd193e923d8b6 100644 (file)
@@ -122,6 +122,13 @@ Root must be the root of an Emacs source tree."
                       (rx (and "AC_INIT" (1+ (not (in ?,)))
                                 ?, (0+ space) ?\[
                                 (submatch (1+ (in "0-9."))))))
+  (set-version-in-file root "java/incrementing-version-code"
+                       (apply #'format "%02d%02d%02d000"
+                              (mapcar #'string-to-number
+                                      (split-string version "\\.")))
+                       (rx (and line-start
+                                (submatch (1+ (in digit)))
+                                line-end)))
   (set-version-in-file root "nt/README.W32" version
                       (rx (and "version" (1+ space)
                                (submatch (1+ (in "0-9."))))))
diff --git a/java/incrementing-version-code b/java/incrementing-version-code
new file mode 100644 (file)
index 0000000..fed5b62
--- /dev/null
@@ -0,0 +1,12 @@
+; This file contains an Android version code
+; (https://developer.android.com/studio/publish/versioning#versioningsettings)
+; corresponding to the current Emacs version.
+;
+; The version code in AndroidManifest.xml.in is hard-coded to a fixed
+; value, to make package downgrades possible.  Where an incrementing
+; version code is required (for example, for automated F-Droid package
+; builds (https://f-droid.org/packages/org.gnu.emacs/)), the version
+; code in this file should be referred to and patched in to
+; AndroidManifest.xml.
+
+300093000